import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.border.TitledBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

//import java.awt.*;
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * ISS_SIMD_FIR_form.java
 *
 * Created on 01-May-2009, 19:49:59
 */

/**
 * This code was edited or generated using CloudGarden's Jigloo
 * SWT/Swing GUI Builder, which is free for non-commercial
 * use. If Jigloo is being used commercially (ie, by a corporation,
 * company or business for any purpose whatever) then you
 * should purchase a license for each developer using Jigloo.
 * Please visit www.cloudgarden.com for details.
 * Use of Jigloo implies acceptance of these licensing terms.
 * A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
 * THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
 * LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
 */
/**
 * 
 * @author kpatel
 */
@SuppressWarnings("unused")
public class ISS_SIMD_Form_Main extends javax.swing.JFrame {

//	public Matrix_Multiplication_4x4_4channels_Mapping_without_MAC matrix_mul_without_MAC_4 = new Matrix_Multiplication_4x4_4channels_Mapping_without_MAC();
//	public Matrix_Multiplication_4x4_4channels_Mapping matrix_mul_4 = new Matrix_Multiplication_4x4_4channels_Mapping();

	public static boolean rounding_enable = false; 
	public static int row,column;
	
	
	{
		// Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/** Creates new form ISS_SIMD_FIR_form */
	public ISS_SIMD_Form_Main() {
		initComponents();
		
	}
	

	/**
	 * This method is called from within the constructor to initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is always
	 * regenerated by the Form Editor.
	 */
	@SuppressWarnings("unchecked")
	// <editor-fold defaultstate="collapsed"
	// desc="Generated Code">//GEN-BEGIN:initComponents
	private void initComponents() {

		GroupLayout layout = new GroupLayout((JComponent)getContentPane());
		getContentPane().setLayout(layout);
		{
			jTabbedPane1 = new JTabbedPane();
			jTabbedPane1.setFont(new java.awt.Font("Times New Roman",1,12));
			{
				jPanel_FIR = new JPanel();
				jTabbedPane1.addTab("FIR Filter", null, jPanel_FIR, null);
				GroupLayout jPanel3Layout = new GroupLayout((JComponent)jPanel_FIR);
				jPanel_FIR.setLayout(jPanel3Layout);
				jPanel_FIR.setPreferredSize(new java.awt.Dimension(507, 383));
				{
					jPanel2 = new JPanel();
					GroupLayout jPanel2Layout = new GroupLayout((JComponent)jPanel2);
					jPanel2.setLayout(jPanel2Layout);
					jPanel2.setBorder(BorderFactory.createTitledBorder(null, "FIR Input Configurations", TitledBorder.LEADING, TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial",1,12)));
					{
						label_rows = new javax.swing.JLabel();
						label_rows.setText("Enter no of rows for CFU array");
					}
					{
						label_columns = new javax.swing.JLabel();
						label_columns.setText("Enter no of columns for CFU array");
					}
					{
						label_taps = new javax.swing.JLabel();
						label_taps.setText("Enter no of taps in  FIR filter");
					}
					{
						label_samples = new javax.swing.JLabel();
						label_samples.setText("Enter no of samples to process");
					}
					{
						label_channels = new javax.swing.JLabel();
						label_channels
						.setText("Enter no of channels you want process in parallel");
					}
					{
						label_RAM = new javax.swing.JLabel();
						label_RAM.setText("Enter the size of RAM");
					}
					{
						Label_filepath = new JLabel();
						Label_filepath.setText("Enter the file path to load RAM");
					}
					{
						jTextField_FIR_filepath = new JTextField();
					}
					{
						jTextfield_FIR_size_ram = new javax.swing.JTextField();
					}
					{
						jTextfield_FIR_channels = new javax.swing.JTextField();
					}
					{
						jTextfield_FIR_samples = new javax.swing.JTextField();
					}
					{
						jTextfield_FIR_taps = new javax.swing.JTextField();
					}
					{
						jTextfield_FIR_columns = new javax.swing.JTextField();
					}
					{
						jTextfield_FIR_rows = new javax.swing.JTextField();
					}
					jPanel2Layout.setHorizontalGroup(jPanel2Layout.createSequentialGroup()
							.addContainerGap()
							.addGroup(jPanel2Layout.createParallelGroup()
									.addGroup(jPanel2Layout.createSequentialGroup()
											.addGap(0, 0, Short.MAX_VALUE)
											.addComponent(label_channels, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
											.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
													.addComponent(label_RAM, GroupLayout.PREFERRED_SIZE, 148, GroupLayout.PREFERRED_SIZE)
													.addGap(0, 133, Short.MAX_VALUE))
													.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
															.addComponent(Label_filepath, GroupLayout.PREFERRED_SIZE, 207, GroupLayout.PREFERRED_SIZE)
															.addGap(0, 74, Short.MAX_VALUE))
															.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																	.addComponent(label_columns, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																	.addGap(0, 86, Short.MAX_VALUE))
																	.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																			.addComponent(label_rows, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																			.addGap(0, 105, Short.MAX_VALUE))
																			.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																					.addComponent(label_taps, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																					.addGap(0, 119, Short.MAX_VALUE))
																					.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																							.addComponent(label_samples, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																							.addGap(0, 104, Short.MAX_VALUE)))
																							.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
																							.addGroup(jPanel2Layout.createParallelGroup()
																									.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																											.addComponent(jTextfield_FIR_size_ram, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																											.addGap(59))
																											.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																													.addComponent(jTextfield_FIR_channels, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																													.addGap(59))
																													.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																															.addComponent(jTextfield_FIR_samples, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																															.addGap(59))
																															.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																																	.addComponent(jTextfield_FIR_taps, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																	.addGap(59))
																																	.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																																			.addComponent(jTextfield_FIR_columns, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																			.addGap(59))
																																			.addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
																																					.addComponent(jTextfield_FIR_rows, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE)
																																					.addGap(49))
																																					.addComponent(jTextField_FIR_filepath, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 103, GroupLayout.PREFERRED_SIZE))
																																					.addGap(8));
					jPanel2Layout.setVerticalGroup(jPanel2Layout.createSequentialGroup()
							.addContainerGap()
							.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
									.addComponent(jTextfield_FIR_rows, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(label_rows, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
									.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
									.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
											.addComponent(jTextfield_FIR_columns, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
											.addComponent(label_columns, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
											.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
											.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
													.addComponent(jTextfield_FIR_taps, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
													.addComponent(label_taps, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
													.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
													.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
															.addComponent(jTextfield_FIR_samples, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
															.addComponent(label_samples, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
															.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
															.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																	.addComponent(jTextfield_FIR_channels, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																	.addComponent(label_channels, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
																	.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
																	.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																			.addComponent(jTextfield_FIR_size_ram, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																			.addComponent(label_RAM, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 16, GroupLayout.PREFERRED_SIZE))
																			.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
																			.addGroup(jPanel2Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																					.addComponent(jTextField_FIR_filepath, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																					.addComponent(Label_filepath, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)));
				}
				{
					jPanel1 = new JPanel();
					GroupLayout jPanel1Layout = new GroupLayout((JComponent)jPanel1);
					jPanel1.setLayout(jPanel1Layout);
					{
						jButton_FIR_ok = new javax.swing.JButton();
						jButton_FIR_ok.setText("OK");
						jButton_FIR_ok.addActionListener(new java.awt.event.ActionListener() {
							public void actionPerformed(java.awt.event.ActionEvent evt) {
								jButton_FIR_okActionPerformed(evt);
							}
						});
					}
					{
						jButton_FIR_cancel = new javax.swing.JButton();
						jButton_FIR_cancel.setText("Cancel");
						jButton_FIR_cancel.addActionListener(new java.awt.event.ActionListener() {
							public void actionPerformed(java.awt.event.ActionEvent evt) {
								jButton_FIR_cancelActionPerformed(evt);
							}
						});
					}
					{
						jButton_FIR_clearall = new javax.swing.JButton();
						jButton_FIR_clearall.setText("Clear all");
						jButton_FIR_clearall.addActionListener(new java.awt.event.ActionListener() {
							public void actionPerformed(java.awt.event.ActionEvent evt) {
								jButton_FIR_clearallActionPerformed(evt);
							}
						});
					}
					jPanel1Layout.setHorizontalGroup(jPanel1Layout.createSequentialGroup()
							.addComponent(jButton_FIR_ok, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addGap(30)
							.addComponent(jButton_FIR_cancel, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addGap(0, 17, Short.MAX_VALUE)
							.addComponent(jButton_FIR_clearall, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addContainerGap());
					jPanel1Layout.setVerticalGroup(jPanel1Layout.createSequentialGroup()
							.addGroup(jPanel1Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
									.addComponent(jButton_FIR_ok, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jButton_FIR_cancel, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jButton_FIR_clearall, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
									.addContainerGap());
				}
				jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup()
						.addGroup(GroupLayout.Alignment.LEADING, jPanel3Layout.createSequentialGroup()
								.addComponent(jPanel2, GroupLayout.PREFERRED_SIZE, 421, GroupLayout.PREFERRED_SIZE)
								.addContainerGap(69, Short.MAX_VALUE))
								.addGroup(GroupLayout.Alignment.LEADING, jPanel3Layout.createSequentialGroup()
										.addGap(86)
										.addComponent(jPanel1, GroupLayout.PREFERRED_SIZE, 240, GroupLayout.PREFERRED_SIZE)
										.addContainerGap(164, Short.MAX_VALUE)));
				jPanel3Layout.setVerticalGroup(jPanel3Layout.createSequentialGroup()
						.addComponent(jPanel2, GroupLayout.PREFERRED_SIZE, 243, GroupLayout.PREFERRED_SIZE)
						.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
						.addComponent(jPanel1, GroupLayout.PREFERRED_SIZE, 32, GroupLayout.PREFERRED_SIZE)
						.addContainerGap(23, Short.MAX_VALUE));
			}
			{
				jPanel_matrix_multiplication = new JPanel();
				jTabbedPane1.addTab("Matix Multiplication", null, jPanel_matrix_multiplication, null);
				GroupLayout jPanel8Layout = new GroupLayout((JComponent)jPanel_matrix_multiplication);
				jPanel_matrix_multiplication.setLayout(jPanel8Layout);
				jPanel_matrix_multiplication.setPreferredSize(new java.awt.Dimension(522, 391));
				{
					jPanel6 = new JPanel();
					GroupLayout jPanel6Layout = new GroupLayout((JComponent)jPanel6);
					jPanel6.setLayout(jPanel6Layout);
					{
						jButton_mat_mul_ok = new JButton();
						jButton_mat_mul_ok.setText("OK");
						jButton_mat_mul_ok.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButton_mat_mul_okActionPerformed(evt);
							}
						});
					}
					{
						jButton_mat_mul_cancel = new JButton();
						jButton_mat_mul_cancel.setText("Cancel");
						jButton_mat_mul_cancel.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButton_mat_mul_cancelActionPerformed(evt);
							}
						});
					}
					{
						jButton_mat_mul_clearall = new JButton();
						jButton_mat_mul_clearall.setText("Clear all");
						jButton_mat_mul_clearall.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButton_mat_mul_clearallActionPerformed(evt);
							}
						});
					}
					jPanel6Layout.setHorizontalGroup(jPanel6Layout.createSequentialGroup()
							.addComponent(jButton_mat_mul_ok, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addGap(0, 22, Short.MAX_VALUE)
							.addComponent(jButton_mat_mul_cancel, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addGap(19)
							.addComponent(jButton_mat_mul_clearall, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE));
					jPanel6Layout.setVerticalGroup(jPanel6Layout.createSequentialGroup()
							.addGroup(jPanel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
									.addComponent(jButton_mat_mul_ok, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jButton_mat_mul_cancel, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jButton_mat_mul_clearall, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
									.addGap(7));
				}
				{
					jPanel7 = new JPanel();
					GroupLayout jPanel7Layout = new GroupLayout((JComponent)jPanel7);
					jPanel7.setBorder(BorderFactory.createTitledBorder(null, "Matrix Input Configuration", TitledBorder.LEADING, TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial",1,12)));
					jPanel7.setLayout(jPanel7Layout);
					{
						jTextField_mat_mul_size_ram = new JTextField();
						jTextField_mat_mul_size_ram.setText("2048");
					}
					{
						jTextField_mat_mul_channels = new JTextField();
						jTextField_mat_mul_channels.setText("4");
					}
					{
						jTextField_mat_mul_samples = new JTextField();
						jTextField_mat_mul_samples.setText("256");
					}
					{
						jTextField_mat_mul_mat_size = new JTextField();
						jTextField_mat_mul_mat_size.setText("4");
					}
					{
						jTextField_mat_mul_cfu_column = new JTextField();
						jTextField_mat_mul_cfu_column.setText("8");
					}
					{
						jTextField_mat_mul_cfu_row = new JTextField();
						jTextField_mat_mul_cfu_row.setText("8");
					}
					{
						jTextField_mat_mul_path_data_file = new JTextField();
					}
					{
						jLabel8 = new JLabel();
						jLabel8.setText("Enter no of channels you want process in parallel");
					}
					{
						jLabel9 = new JLabel();
						jLabel9.setText("Enter the size of RAM");
					}
					{
						jLabel10 = new JLabel();
						jLabel10.setText("Enter the file path to load RAM");
					}
					{
						jLabel11 = new JLabel();
						jLabel11.setText("Enter no of columns for CFU array");
					}
					{
						jLabel12 = new JLabel();
						jLabel12.setText("Enter no of rows for CFU array");
					}
					{
						jRadioButton_mat_mul_with_MAC = new JRadioButton();
						jRadioButton_mat_mul_with_MAC.setText("Matrix multiplication using MAC unit");

						//Making this option as default selected
						jRadioButton_mat_mul_with_MAC.setSelected(true);

						jRadioButton_mat_mul_with_MAC.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								System.out.println("jRadioButton_mat_mul_with_MAC.actionPerformed, event="+evt);

								//TODO add your code for jRadioButton_mat_mul_with_MAC.actionPerformed
								/*
								 *If Matrix Multiplication with MAC is selected then  Matrix Multiplication
								 *without MAC must be disable
								 */
								jRadioButton_mat_mul_without_MAC.setSelected(false);
							}
						});
					}
					{
						jRadioButton_mat_mul_without_MAC = new JRadioButton();
						jRadioButton_mat_mul_without_MAC.setText("Matrix Multiplication without using MAC unit");
						jRadioButton_mat_mul_without_MAC.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								System.out.println("jRadioButton_mat_mul_without_MAC.actionPerformed, event="+evt);
								//TODO add your code for jRadioButton_mat_mul_without_MAC.actionPerformed

								/*
								 *If Matrix Multiplication without MAC is selected then  Matrix Multiplication
								 *with MAC must be disable
								 */
								jRadioButton_mat_mul_with_MAC.setSelected(false);

							}
						});
					}
					{
						jLabel13 = new JLabel();
						jLabel13.setText("Enter the size of the matrix");
					}
					{
						jLabel14 = new JLabel();
						jLabel14.setText("Enter no of samples to process");
					}
					jPanel7Layout.setHorizontalGroup(jPanel7Layout.createSequentialGroup()
							.addContainerGap()
							.addGroup(jPanel7Layout.createParallelGroup()
									.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
											.addComponent(jLabel10, GroupLayout.PREFERRED_SIZE, 207, GroupLayout.PREFERRED_SIZE)
											.addGap(117))
											.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
													.addComponent(jLabel9, GroupLayout.PREFERRED_SIZE, 139, GroupLayout.PREFERRED_SIZE)
													.addGap(185))
													.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
															.addComponent(jLabel8, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
															.addGap(43))
															.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																	.addComponent(jLabel14, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																	.addGap(147))
																	.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																			.addComponent(jLabel13, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																			.addGap(169))
																			.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																					.addComponent(jLabel11, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																					.addGap(129))
																					.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																							.addComponent(jLabel12, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																							.addGap(148))
																							.addGroup(jPanel7Layout.createSequentialGroup()
																									.addGap(32)
																									.addGroup(jPanel7Layout.createParallelGroup()
																											.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																													.addComponent(jRadioButton_mat_mul_with_MAC, GroupLayout.PREFERRED_SIZE, 249, GroupLayout.PREFERRED_SIZE)
																													.addGap(43))
																													.addComponent(jRadioButton_mat_mul_without_MAC, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 292, GroupLayout.PREFERRED_SIZE))))
																													.addGap(0, 72, Short.MAX_VALUE)
																													.addGroup(jPanel7Layout.createParallelGroup()
																															.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																																	.addComponent(jTextField_mat_mul_size_ram, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																	.addGap(59))
																																	.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																																			.addComponent(jTextField_mat_mul_channels, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																			.addGap(59))
																																			.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																																					.addComponent(jTextField_mat_mul_samples, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																					.addGap(59))
																																					.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																																							.addComponent(jTextField_mat_mul_mat_size, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																							.addGap(59))
																																							.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																																									.addComponent(jTextField_mat_mul_cfu_column, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																									.addGap(59))
																																									.addGroup(GroupLayout.Alignment.LEADING, jPanel7Layout.createSequentialGroup()
																																											.addComponent(jTextField_mat_mul_cfu_row, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE)
																																											.addGap(49))
																																											.addComponent(jTextField_mat_mul_path_data_file, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 103, GroupLayout.PREFERRED_SIZE))
																																											.addContainerGap(71, 71));
					jPanel7Layout.setVerticalGroup(jPanel7Layout.createSequentialGroup()
							.addContainerGap()
							.addGroup(jPanel7Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
									.addComponent(jTextField_mat_mul_cfu_row, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jLabel12, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
									.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
									.addGroup(jPanel7Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
											.addComponent(jTextField_mat_mul_cfu_column, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
											.addComponent(jLabel11, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
											.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
											.addGroup(jPanel7Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
													.addComponent(jTextField_mat_mul_mat_size, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
													.addComponent(jLabel13, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
													.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
													.addGroup(jPanel7Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
															.addComponent(jTextField_mat_mul_samples, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
															.addComponent(jLabel14, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
															.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
															.addGroup(jPanel7Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																	.addComponent(jTextField_mat_mul_channels, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																	.addComponent(jLabel8, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
																	.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
																	.addGroup(jPanel7Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																			.addComponent(jTextField_mat_mul_size_ram, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																			.addComponent(jLabel9, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
																			.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
																			.addGroup(jPanel7Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																					.addComponent(jTextField_mat_mul_path_data_file, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																					.addComponent(jLabel10, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
																					.addGap(15)
																					.addComponent(jRadioButton_mat_mul_with_MAC, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																					.addGap(9)
																					.addComponent(jRadioButton_mat_mul_without_MAC, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)
																					.addContainerGap(15, Short.MAX_VALUE));
				}
				jPanel8Layout.setHorizontalGroup(jPanel8Layout.createParallelGroup()
						.addGroup(GroupLayout.Alignment.LEADING, jPanel8Layout.createSequentialGroup()
								.addComponent(jPanel7, GroupLayout.PREFERRED_SIZE, 594, GroupLayout.PREFERRED_SIZE)
								.addContainerGap(47, Short.MAX_VALUE))
								.addGroup(GroupLayout.Alignment.LEADING, jPanel8Layout.createSequentialGroup()
										.addGap(99)
										.addComponent(jPanel6, GroupLayout.PREFERRED_SIZE, 240, GroupLayout.PREFERRED_SIZE)
										.addContainerGap(302, Short.MAX_VALUE)));
				jPanel8Layout.setVerticalGroup(jPanel8Layout.createSequentialGroup()
						.addComponent(jPanel7, 0, 332, Short.MAX_VALUE)
						.addGap(29)
						.addComponent(jPanel6, GroupLayout.PREFERRED_SIZE, 32, GroupLayout.PREFERRED_SIZE)
						.addContainerGap());
			}
			{
				jPanel_matrix_determinant = new JPanel();
				jTabbedPane1.addTab("Matrix Determinant", null, jPanel_matrix_determinant, null);
				GroupLayout jPanel13Layout = new GroupLayout((JComponent)jPanel_matrix_determinant);
				jPanel_matrix_determinant.setLayout(jPanel13Layout);
				jPanel_matrix_determinant.setFont(new java.awt.Font("Arial Black",0,12));
				jPanel_matrix_determinant.setPreferredSize(new java.awt.Dimension(486, 308));
				{
					jPanel12 = new JPanel();
					GroupLayout jPanel12Layout = new GroupLayout((JComponent)jPanel12);
					jPanel12.setBorder(BorderFactory.createTitledBorder(null, "Matrix Input Configuration", TitledBorder.LEADING, TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial",1,12)));
					jPanel12.setLayout(jPanel12Layout);
					{
						jTextField_mat_det_path_data_file = new JTextField();
					}
					{
						jLabel22 = new JLabel();
						jLabel22.setText("Enter the file path to load RAM");
					}
					{
						jTextField_mat_det_size_ram = new JTextField();
					}
					{
						jLabel23 = new JLabel();
						jLabel23.setText("Enter the size of RAM");
					}
					{
						jTextField_mat_det_channels = new JTextField();
					}
					{
						jLabel24 = new JLabel();
						jLabel24.setText("Enter no of channels you want process in parallel");
					}
					{
						jTextField_mat_det_samples = new JTextField();
					}
					{
						jLabel25 = new JLabel();
						jLabel25.setText("Enter no of samples to process");
					}
					{
						jTextField_mat_det_mat_size = new JTextField();
					}
					{
						jLabel26 = new JLabel();
						jLabel26.setText("Enter the size of the matrix");
					}
					{
						jTextField_mat_det_cfu_column = new JTextField();
					}
					{
						jLabel27 = new JLabel();
						jLabel27.setText("Enter no of columns for CFU array");
					}
					{
						jTextField_mat_det_cfu_row = new JTextField();
					}
					{
						jLabel28 = new JLabel();
						jLabel28.setText("Enter no of rows for CFU array");
					}
					jPanel12Layout.setHorizontalGroup(jPanel12Layout.createSequentialGroup()
							.addContainerGap()
							.addGroup(jPanel12Layout.createParallelGroup()
									.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
											.addComponent(jLabel22, GroupLayout.PREFERRED_SIZE, 207, GroupLayout.PREFERRED_SIZE)
											.addGap(74))
											.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
													.addComponent(jLabel23, GroupLayout.PREFERRED_SIZE, 132, GroupLayout.PREFERRED_SIZE)
													.addGap(149))
													.addGroup(jPanel12Layout.createSequentialGroup()
															.addGap(0, 0, Short.MAX_VALUE)
															.addComponent(jLabel24, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
															.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																	.addComponent(jLabel25, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																	.addGap(0, 104, Short.MAX_VALUE))
																	.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																			.addComponent(jLabel26, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																			.addGap(0, 126, Short.MAX_VALUE))
																			.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																					.addComponent(jLabel27, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																					.addGap(0, 86, Short.MAX_VALUE))
																					.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																							.addComponent(jLabel28, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																							.addGap(0, 105, Short.MAX_VALUE)))
																							.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
																							.addGroup(jPanel12Layout.createParallelGroup()
																									.addComponent(jTextField_mat_det_path_data_file, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 103, GroupLayout.PREFERRED_SIZE)
																									.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																											.addComponent(jTextField_mat_det_size_ram, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																											.addGap(59))
																											.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																													.addComponent(jTextField_mat_det_channels, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																													.addGap(59))
																													.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																															.addComponent(jTextField_mat_det_samples, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																															.addGap(59))
																															.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																																	.addComponent(jTextField_mat_det_mat_size, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																	.addGap(59))
																																	.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																																			.addComponent(jTextField_mat_det_cfu_column, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																			.addGap(59))
																																			.addGroup(GroupLayout.Alignment.LEADING, jPanel12Layout.createSequentialGroup()
																																					.addComponent(jTextField_mat_det_cfu_row, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE)
																																					.addGap(49))));
					jPanel12Layout.setVerticalGroup(jPanel12Layout.createSequentialGroup()
							.addContainerGap()
							.addGroup(jPanel12Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
									.addComponent(jTextField_mat_det_cfu_row, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jLabel28, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
									.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
									.addGroup(jPanel12Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
											.addComponent(jTextField_mat_det_cfu_column, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
											.addComponent(jLabel27, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
											.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
											.addGroup(jPanel12Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
													.addComponent(jTextField_mat_det_mat_size, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
													.addComponent(jLabel26, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
													.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
													.addGroup(jPanel12Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
															.addComponent(jTextField_mat_det_samples, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
															.addComponent(jLabel25, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
															.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
															.addGroup(jPanel12Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																	.addComponent(jTextField_mat_det_channels, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																	.addComponent(jLabel24, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
																	.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
																	.addGroup(jPanel12Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																			.addComponent(jTextField_mat_det_size_ram, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																			.addComponent(jLabel23, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 16, GroupLayout.PREFERRED_SIZE))
																			.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
																			.addGroup(jPanel12Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																					.addComponent(jTextField_mat_det_path_data_file, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																					.addComponent(jLabel22, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
																					.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED));
				}
				{
					jPanel11 = new JPanel();
					GroupLayout jPanel11Layout = new GroupLayout((JComponent)jPanel11);
					jPanel11.setLayout(jPanel11Layout);
					{
						jButton_mat_det_ok = new JButton();
						jButton_mat_det_ok.setText("OK");
						jButton_mat_det_ok.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButton_mat_det_okActionPerformed(evt);
							}
						});
					}
					{
						jButton_mat_det_cancel = new JButton();
						jButton_mat_det_cancel.setText("Cancel");
						jButton_mat_det_cancel.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButton_mat_det_cancelActionPerformed(evt);
							}
						});
					}
					{
						jButton_mat_det_clearall = new JButton();
						jButton_mat_det_clearall.setText("Clear all");
						jButton_mat_det_clearall.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButton_mat_det_clearallActionPerformed(evt);
							}
						});
					}
					jPanel11Layout.setVerticalGroup(jPanel11Layout.createSequentialGroup()
							.addGroup(jPanel11Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
									.addComponent(jButton_mat_det_ok, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jButton_mat_det_cancel, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jButton_mat_det_clearall, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
									.addContainerGap());
					jPanel11Layout.setHorizontalGroup(jPanel11Layout.createSequentialGroup()
							.addComponent(jButton_mat_det_ok, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addGap(30)
							.addComponent(jButton_mat_det_cancel, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addGap(0, 17, Short.MAX_VALUE)
							.addComponent(jButton_mat_det_clearall, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addContainerGap());
				}
				jPanel13Layout.setHorizontalGroup(jPanel13Layout.createParallelGroup()
						.addGroup(GroupLayout.Alignment.LEADING, jPanel13Layout.createSequentialGroup()
								.addComponent(jPanel12, GroupLayout.PREFERRED_SIZE, 412, GroupLayout.PREFERRED_SIZE)
								.addContainerGap(78, Short.MAX_VALUE))
								.addGroup(GroupLayout.Alignment.LEADING, jPanel13Layout.createSequentialGroup()
										.addGap(88)
										.addComponent(jPanel11, GroupLayout.PREFERRED_SIZE, 240, GroupLayout.PREFERRED_SIZE)
										.addContainerGap(162, Short.MAX_VALUE)));
				jPanel13Layout.setVerticalGroup(jPanel13Layout.createSequentialGroup()
						.addComponent(jPanel12, 0, 244, Short.MAX_VALUE)
						.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
						.addComponent(jPanel11, GroupLayout.PREFERRED_SIZE, 32, GroupLayout.PREFERRED_SIZE)
						.addContainerGap(22, 22));
			}
			{
				jPanel3 = new JPanel();
				jTabbedPane1.addTab("FFT", null, jPanel3, null);
				GroupLayout jPanel3Layout1 = new GroupLayout((JComponent)jPanel3);
				jPanel3.setLayout(jPanel3Layout1);
				jPanel3.setPreferredSize(new java.awt.Dimension(626, 346));
				{
					jPanel4 = new JPanel();
					GroupLayout jPanel4Layout = new GroupLayout((JComponent)jPanel4);
					jPanel4.setLayout(jPanel4Layout);
					{
						jButton_FFT_ok = new JButton();
						jButton_FFT_ok.setText("OK");
						jButton_FFT_ok.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButton_FFT_okActionPerformed(evt);
							}
						});
					}
					{
						jButton_FFT_cancel = new JButton();
						jButton_FFT_cancel.setText("Cancel");
						jButton_FFT_cancel.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButton_FFT_cancelActionPerformed(evt);
							}
						});
					}
					{
						jButton_FFT_clearall = new JButton();
						jButton_FFT_clearall.setText("Clear all");
						jButton_FFT_clearall.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent evt) {
								jButton_FFT_clearallActionPerformed(evt);
							}
						});
					}
					jPanel4Layout.setVerticalGroup(jPanel4Layout.createSequentialGroup()
							.addGroup(jPanel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
									.addComponent(jButton_FFT_ok, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jButton_FFT_cancel, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jButton_FFT_clearall, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
									.addContainerGap());
					jPanel4Layout.setHorizontalGroup(jPanel4Layout.createSequentialGroup()
							.addComponent(jButton_FFT_ok, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addGap(30)
							.addComponent(jButton_FFT_cancel, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addGap(0, 17, Short.MAX_VALUE)
							.addComponent(jButton_FFT_clearall, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
							.addContainerGap());
				}
				{
					jPanel5 = new JPanel();
					GroupLayout jPanel5Layout = new GroupLayout((JComponent)jPanel5);
					jPanel5.setBorder(BorderFactory.createTitledBorder(null,"FIR Input Configurations",TitledBorder.LEADING,TitledBorder.DEFAULT_POSITION,new java.awt.Font("Arial",1,12)));
					jPanel5.setLayout(jPanel5Layout);
					{
						jTextField_FFT_size_ram = new JTextField();
					}
					{
						jTextField_FFT_channels = new JTextField();
					}
					{
						jTextField_FFT_samples = new JTextField();
					}
					{
						jTextField_FFT_no_points = new JTextField();
					}
					{
						jTextField_FFT_columns = new JTextField();
					}
					{
						jTextField_FFT_rows = new JTextField();
					}
					{
						jTextField_FFT_ram_path = new JTextField();
					}
					{
						jLabel1 = new JLabel();
						jLabel1.setText("Enter no of channels you want process in parallel");
					}
					{
						jLabel2 = new JLabel();
						jLabel2.setText("Enter the size of RAM");
					}
					{
						jLabel3 = new JLabel();
						jLabel3.setText("Enter the file path to load RAM");
					}
					{
						jLabel4 = new JLabel();
						jLabel4.setText("Enter no of columns for CFU array");
					}
					{
						jLabel5 = new JLabel();
						jLabel5.setText("Enter no of rows for CFU array");
					}
					{
						jLabel6 = new JLabel();
						jLabel6.setText("Enter no of points in  FFT");
					}
					{
						jLabel7 = new JLabel();
						jLabel7.setText("Enter no of samples to process");
					}
					jPanel5Layout.setHorizontalGroup(jPanel5Layout.createSequentialGroup()
							.addContainerGap()
							.addGroup(jPanel5Layout.createParallelGroup()
									.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
											.addComponent(jLabel3, GroupLayout.PREFERRED_SIZE, 207, GroupLayout.PREFERRED_SIZE)
											.addGap(74))
											.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
													.addComponent(jLabel2, GroupLayout.PREFERRED_SIZE, 130, GroupLayout.PREFERRED_SIZE)
													.addGap(151))
													.addGroup(jPanel5Layout.createSequentialGroup()
															.addGap(0, 0, Short.MAX_VALUE)
															.addComponent(jLabel1, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
															.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																	.addComponent(jLabel7, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																	.addGap(0, 104, Short.MAX_VALUE))
																	.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																			.addComponent(jLabel6, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																			.addGap(0, 136, Short.MAX_VALUE))
																			.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																					.addComponent(jLabel4, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																					.addGap(0, 86, Short.MAX_VALUE))
																					.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																							.addComponent(jLabel5, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																							.addGap(0, 105, Short.MAX_VALUE)))
																							.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
																							.addGroup(jPanel5Layout.createParallelGroup()
																									.addComponent(jTextField_FFT_ram_path, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 103, GroupLayout.PREFERRED_SIZE)
																									.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																											.addComponent(jTextField_FFT_size_ram, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																											.addGap(59))
																											.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																													.addComponent(jTextField_FFT_channels, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																													.addGap(59))
																													.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																															.addComponent(jTextField_FFT_samples, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																															.addGap(59))
																															.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																																	.addComponent(jTextField_FFT_no_points, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																	.addGap(59))
																																	.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																																			.addComponent(jTextField_FFT_columns, GroupLayout.PREFERRED_SIZE, 44, GroupLayout.PREFERRED_SIZE)
																																			.addGap(59))
																																			.addGroup(GroupLayout.Alignment.LEADING, jPanel5Layout.createSequentialGroup()
																																					.addComponent(jTextField_FFT_rows, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE)
																																					.addGap(49))));
					jPanel5Layout.setVerticalGroup(jPanel5Layout.createSequentialGroup()
							.addContainerGap()
							.addGroup(jPanel5Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
									.addComponent(jTextField_FFT_rows, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
									.addComponent(jLabel5, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
									.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
									.addGroup(jPanel5Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
											.addComponent(jTextField_FFT_columns, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
											.addComponent(jLabel4, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
											.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
											.addGroup(jPanel5Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
													.addComponent(jTextField_FFT_no_points, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
													.addComponent(jLabel6, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
													.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
													.addGroup(jPanel5Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
															.addComponent(jTextField_FFT_samples, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
															.addComponent(jLabel7, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
															.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
															.addGroup(jPanel5Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																	.addComponent(jTextField_FFT_channels, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																	.addComponent(jLabel1, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
																	.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
																	.addGroup(jPanel5Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																			.addComponent(jTextField_FFT_size_ram, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																			.addComponent(jLabel2, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 16, GroupLayout.PREFERRED_SIZE))
																			.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
																			.addGroup(jPanel5Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
																					.addComponent(jTextField_FFT_ram_path, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
																					.addComponent(jLabel3, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
																					.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED));
				}
				jPanel3Layout1.setHorizontalGroup(jPanel3Layout1.createParallelGroup()
						.addGroup(GroupLayout.Alignment.LEADING, jPanel3Layout1.createSequentialGroup()
								.addComponent(jPanel5, GroupLayout.PREFERRED_SIZE, 412, GroupLayout.PREFERRED_SIZE)
								.addContainerGap(78, Short.MAX_VALUE))
								.addGroup(GroupLayout.Alignment.LEADING, jPanel3Layout1.createSequentialGroup()
										.addGap(77)
										.addComponent(jPanel4, GroupLayout.PREFERRED_SIZE, 240, GroupLayout.PREFERRED_SIZE)
										.addContainerGap(173, Short.MAX_VALUE)));
				jPanel3Layout1.setVerticalGroup(jPanel3Layout1.createSequentialGroup()
						.addComponent(jPanel5, GroupLayout.PREFERRED_SIZE, 244, GroupLayout.PREFERRED_SIZE)
						.addGap(22)
						.addComponent(jPanel4, GroupLayout.PREFERRED_SIZE, 32, GroupLayout.PREFERRED_SIZE));
			}
		}
		{
			jButton_hdl_coder = new JButton();
			jButton_hdl_coder.setText("Generate HDL");
			jButton_hdl_coder.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					System.out.println("jButton_hdl_coder.actionPerformed, event="+evt);
					//TODO add your code for jButton_hdl_coder.actionPerformed
				}
			});
		}
		{
			jButton_Array_Visualisation = new JButton();
			jButton_Array_Visualisation.setText("Arrays");
			jButton_Array_Visualisation.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					//System.out.println("jButton_Array_Visualisation.actionPerformed, event="+evt);
					//TODO add your code for jButton_Array_Visualisation.actionPerformed
					Array_Visualisation.main(null);
					
				}
			});
		}
		{
			jButton_reset_statistical_counters = new JButton();
			jButton_reset_statistical_counters.setText("Reset Statistical Counters");
			jButton_reset_statistical_counters.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					System.out.println("jButton_reset_statistical_counters.actionPerformed, event="+evt);
					//TODO add your code for jButton_reset_statistical_counters.actionPerformed
					
					Cfu.Reset_Statistical_Counters();
				}
			});
		}
		{
			jCheckBox_round_result = new JCheckBox();
			jCheckBox_round_result.setText("Rounding Enable");
			jCheckBox_round_result.addChangeListener(new ChangeListener() {
				public void stateChanged(ChangeEvent evt) {
					System.out.println("jCheckBox_round_result.stateChanged, event="+evt);
					//TODO add your code for jCheckBox_round_result.stateChanged
					if (jCheckBox_round_result.getSelectedObjects() != null)
						rounding_enable = true;
					else rounding_enable = false;
					System.out.println("rounding_enable = " + rounding_enable);
				}
			});
		}
		{
			jButton_file_chooser = new JButton();
			jButton_file_chooser.setText("Browse");
			jButton_file_chooser.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					System.out.println("jButton_file_chooser.actionPerformed, event="+evt);
					//TODO add your code for jButton_file_chooser.actionPerformed
				}
			});
		}
		{
			jButton_advance_settings = new JButton();
			jButton_advance_settings.setText("Advance Settings");
			jButton_advance_settings.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					System.out.println("jButton_advance_settings.actionPerformed, event="+evt);
					//TODO add your code for jButton_advance_settings.actionPerformed
					ISS_SIMD_Advance_Settings.main(null);

				}
			});
		}
		layout.setVerticalGroup(layout.createSequentialGroup()
			.addContainerGap()
			.addGroup(layout.createParallelGroup()
			    .addGroup(layout.createSequentialGroup()
			        .addComponent(jTabbedPane1, GroupLayout.PREFERRED_SIZE, 441, GroupLayout.PREFERRED_SIZE)
			        .addGap(0, 0, Short.MAX_VALUE))
			    .addGroup(GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
			        .addGap(102)
			        .addComponent(jButton_advance_settings, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
			        .addGap(35)
			        .addComponent(jButton_file_chooser, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
			        .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
			        .addComponent(jCheckBox_round_result, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
			        .addGap(19)
			        .addComponent(jButton_reset_statistical_counters, GroupLayout.PREFERRED_SIZE, 32, GroupLayout.PREFERRED_SIZE)
			        .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
			        .addComponent(jButton_Array_Visualisation, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
			        .addGap(26)
			        .addComponent(jButton_hdl_coder, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)
			        .addGap(0, 80, Short.MAX_VALUE)))
			.addContainerGap(25, 25));
		layout.setHorizontalGroup(layout.createSequentialGroup()
			.addContainerGap(30, 30)
			.addComponent(jTabbedPane1, GroupLayout.PREFERRED_SIZE, 544, GroupLayout.PREFERRED_SIZE)
			.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
			.addGroup(layout.createParallelGroup()
			    .addGroup(GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
			        .addComponent(jButton_advance_settings, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
			        .addGap(0, 15, Short.MAX_VALUE))
			    .addGroup(GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
			        .addComponent(jButton_file_chooser, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
			        .addGap(0, 71, Short.MAX_VALUE))
			    .addGroup(layout.createSequentialGroup()
			        .addComponent(jCheckBox_round_result, GroupLayout.PREFERRED_SIZE, 146, GroupLayout.PREFERRED_SIZE)
			        .addGap(0, 0, Short.MAX_VALUE))
			    .addGroup(GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
			        .addComponent(jButton_reset_statistical_counters, GroupLayout.PREFERRED_SIZE, 124, GroupLayout.PREFERRED_SIZE)
			        .addGap(0, 22, Short.MAX_VALUE))
			    .addGroup(layout.createSequentialGroup()
			        .addPreferredGap(jButton_advance_settings, jButton_Array_Visualisation, LayoutStyle.ComponentPlacement.INDENT)
			        .addGroup(layout.createParallelGroup()
			            .addGroup(GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
			                .addComponent(jButton_Array_Visualisation, GroupLayout.PREFERRED_SIZE, 79, GroupLayout.PREFERRED_SIZE)
			                .addGap(0, 35, Short.MAX_VALUE))
			            .addGroup(layout.createSequentialGroup()
			                .addComponent(jButton_hdl_coder, GroupLayout.PREFERRED_SIZE, 114, GroupLayout.PREFERRED_SIZE)
			                .addGap(0, 0, Short.MAX_VALUE)))
			        .addGap(22)))
			.addContainerGap(20, 20));

		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

		pack();
	}// </editor-fold>//GEN-END:initComponents

	private void jButton_FIR_clearallActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_button_clearallActionPerformed
		// This function clear all the fields of the form.
		// jTextfield_FIR_rows.setText("");
		initComponents();

	}// GEN-LAST:event_button_clearallActionPerformed

	private void jButton_FIR_okActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_button_OKActionPerformed
		/*
		 * This code performs the basic calculation before mapping application
		 * to the array
		 */

		// Creating new instance of the class ISS_SIMD_FIR_16points_256samples

		// JOptionPane.showMessageDialog(null,"Jai Sairam..The program started 2...!");

		row = Integer.parseInt(jTextfield_FIR_rows.getText());
		column = Integer.parseInt(jTextfield_FIR_columns.getText());	
		
		FIR_13taps_256samples_mapping FIR_13points_256_samples = new FIR_13taps_256samples_mapping();
		
		FIR_13points_256_samples.no_cfu_row_int = Integer
		.parseInt(jTextfield_FIR_rows.getText());
		FIR_13points_256_samples.no_cfu_column_int = Integer
		.parseInt(jTextfield_FIR_columns.getText());
		FIR_13points_256_samples.no_taps_int = Integer.parseInt(jTextfield_FIR_taps
				.getText());
		FIR_13points_256_samples.no_samples_int = Integer
		.parseInt(jTextfield_FIR_samples.getText());
		FIR_13points_256_samples.no_channels_int = Integer
		.parseInt(jTextfield_FIR_channels.getText());
		FIR_13points_256_samples.ram_size = Integer.parseInt(jTextfield_FIR_size_ram
				.getText());
		FIR_13points_256_samples.file_path = jTextField_FIR_filepath.getText();
		// C:\Users\Kunjan Patel\workspace\FIR_16taps_256samples\src\test.txt
		// (laptop)
		// C:\Users\kpatel\workspace\FIR_16taps_256samples\src\test.txt
		// (Desktop)

		FIR_13points_256_samples.total_cfu = FIR_13points_256_samples.no_cfu_column_int
		* FIR_13points_256_samples.no_cfu_row_int;
		FIR_13points_256_samples.no_cfu_per_channel = FIR_13points_256_samples.total_cfu
		/ FIR_13points_256_samples.no_channels_int;
		FIR_13points_256_samples.unused_cfu = FIR_13points_256_samples.total_cfu
		- (FIR_13points_256_samples.no_cfu_per_channel * FIR_13points_256_samples.no_channels_int);

		// Enter logic to check sufficient RAM is available or not

		/*
		 * ====== Include this in filter
		 * specific class file ===========================================
		 */

		JOptionPane.showMessageDialog(null, "no_cfu_per_channel = "
				+ FIR_13points_256_samples.no_cfu_per_channel + "\nchannels = "
				+ FIR_13points_256_samples.no_channels_int + "\nunused = "
				+ FIR_13points_256_samples.unused_cfu);

		FIR_13points_256_samples.Create_Cfu_Array();
		FIR_13points_256_samples.Create_RAM();

		FIR_13points_256_samples.Run_CFUs();

		FIR_13points_256_samples.Get_Statastics();

	}// GEN-LAST:event_button_OKActionPerformed

	private void jButton_FIR_cancelActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_button_cancelActionPerformed
		// Exit the application if cancel button is pressed

		dispose();
	}// GEN-LAST:event_button_cancelActionPerformed

	/**
	 * @param args
	 *            the command line arguments
	 */
	public static void main(String args[]) {
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new ISS_SIMD_Form_Main().setVisible(true);
			}
		});
	}

	private void jButton_FFT_okActionPerformed(ActionEvent evt) {
		//System.out.println("jButton_FFT_ok.actionPerformed, event="+evt);
		//TODO add your code for jButton_FFT_ok.actionPerformed
		

		row = Integer.parseInt(jTextField_FFT_rows.getText());
		column = Integer.parseInt(jTextField_FFT_columns.getText());
		
		FFT_8point_Mapping_Butterfly fft_8 = new FFT_8point_Mapping_Butterfly();
		
		fft_8.no_cfu_row_int = Integer
		.parseInt(jTextField_FFT_rows.getText());

		fft_8.no_cfu_column_int = Integer
		.parseInt(jTextField_FFT_columns.getText());
		fft_8.no_points_int = Integer.parseInt(jTextField_FFT_no_points.getText());
		fft_8.no_samples_int = Integer
		.parseInt(jTextField_FFT_samples.getText());
		fft_8.no_channels_int = Integer
		.parseInt(jTextField_FFT_channels.getText());
		fft_8.ram_size = Integer.parseInt(jTextField_FFT_size_ram
				.getText());
		fft_8.file_path = jTextField_FFT_ram_path.getText();
		// C:\Users\Kunjan Patel\workspace\FIR_16taps_256samples\src\test.txt
		// (laptop)
		// C:\Users\kpatel\workspace\FIR_16taps_256samples\src\test.txt
		// (Desktop)

		//matrix_mul_4.total_cfu = matrix_mul_4.no_cfu_column_int
		//		* matrix_mul_4.no_cfu_row_int;
		//matrix_mul_4.no_cfu_per_channel = matrix_mul_4.total_cfu
		//		/ matrix_mul_4.no_channels_int;
		//matrix_mul_4.unused_cfu = matrix_mul_4.total_cfu
		//		- (matrix_mul_4.no_cfu_per_channel * matrix_mul_4.no_channels_int);

		// Enter logic to check sufficient RAM is available or not

		/*
		 * ========================================== Include this in filter
		 * specific class file ===========================================
		 */

		//JOptionPane.showMessageDialog(null, "no_cfu_per_channel = "
		//		+ matrix_mul_4.no_cfu_per_channel + "\nchannels = "
		//		+ matrix_mul_4.no_channels_int + "\nunused = "
		//		+ matrix_mul_4.unused_cfu);

		fft_8.Create_Cfu_Array();
		fft_8.Create_RAM();

		/*
		 * Here, flexibility can be added by including arguments which can take
		 * taps of FIR filter and no of samples to process
		 */
		fft_8.Run_CFUs();

		fft_8.Get_Statastics();
	}

	private void jButton_FFT_cancelActionPerformed(ActionEvent evt) {
		System.out.println("jButton_FFT_cancel.actionPerformed, event="+evt);
		//TODO add your code for jButton_FFT_cancel.actionPerformed
		dispose();
	}

	private void jButton_FFT_clearallActionPerformed(ActionEvent evt) {
		System.out.println("jButton_FFT_clearall.actionPerformed, event="+evt);
		//TODO add your code for jButton_FFT_clearall.actionPerformed

		initComponents();
	}

	private void jButton_mat_mul_okActionPerformed(ActionEvent evt) {

		//System.out.println("jButton_mat_mul_ok.actionPerformed, event="+evt);
		//TODO add your code for jButton_mat_mul_ok.actionPerformed
		
		

		row = Integer.parseInt(jTextField_mat_mul_cfu_row.getText());
		column = Integer.parseInt(jTextField_mat_mul_cfu_column.getText());
		
		 Matrix_Multiplication_4x4_4channels_Mapping matrix_mul_4 = new Matrix_Multiplication_4x4_4channels_Mapping();
		 Matrix_Multiplication_4x4_4channels_Mapping_without_MAC matrix_mul_without_MAC_4 = new Matrix_Multiplication_4x4_4channels_Mapping_without_MAC();
		
		matrix_mul_4.Size_of_Matrix = Integer.parseInt(jTextField_mat_mul_mat_size.getText());
		
		
		

		if (jRadioButton_mat_mul_with_MAC.isSelected())
		{	
//			matrix_mul_4.no_cfu_row_int = Integer
//			.parseInt(jTextField_mat_mul_cfu_row.getText());
//			matrix_mul_4.no_cfu_column_int = Integer
//			.parseInt(jTextField_mat_mul_cfu_column.getText());
			matrix_mul_4.Size_of_Matrix = Integer.parseInt(jTextField_mat_mul_mat_size.getText());
			matrix_mul_4.no_samples_int = Integer
			.parseInt(jTextField_mat_mul_samples.getText());
			matrix_mul_4.no_channels_int = Integer
			.parseInt(jTextField_mat_mul_channels.getText());
			matrix_mul_4.ram_size = Integer.parseInt(jTextField_mat_mul_size_ram
					.getText());
			matrix_mul_4.file_path = jTextField_mat_mul_path_data_file.getText();
			// C:\Users\Kunjan Patel\workspace\FIR_16taps_256samples\src\test.txt
			// (laptop)
			// C:\Users\kpatel\workspace\FIR_16taps_256samples\src\test.txt
			// (Desktop)

			//matrix_mul_4.total_cfu = matrix_mul_4.no_cfu_column_int
			//		* matrix_mul_4.no_cfu_row_int;
			//matrix_mul_4.no_cfu_per_channel = matrix_mul_4.total_cfu
			//		/ matrix_mul_4.no_channels_int;
			//matrix_mul_4.unused_cfu = matrix_mul_4.total_cfu
			//		- (matrix_mul_4.no_cfu_per_channel * matrix_mul_4.no_channels_int);

			// Enter logic to check sufficient RAM is available or not

			/*
			 * ========================================== Include this in filter
			 * specific class file ===========================================
			 */

			//JOptionPane.showMessageDialog(null, "no_cfu_per_channel = "
			//		+ matrix_mul_4.no_cfu_per_channel + "\nchannels = "
			//		+ matrix_mul_4.no_channels_int + "\nunused = "
			//		+ matrix_mul_4.unused_cfu);

			matrix_mul_4.Create_Cfu_Array();
			matrix_mul_4.Create_RAM();

			/*
			 * Here, flexibility can be added by including arguments which can take
			 * taps of FIR filter and no of samples to process
			 */
			matrix_mul_4.Run_CFUs();

			matrix_mul_4.Get_Statastics();
		}

		//Matrix multiplication without MAC

		if (jRadioButton_mat_mul_without_MAC.isSelected())
		{

			matrix_mul_without_MAC_4.no_cfu_row_int = Integer
			.parseInt(jTextField_mat_mul_cfu_row.getText());
			matrix_mul_without_MAC_4.no_cfu_column_int = Integer
			.parseInt(jTextField_mat_mul_cfu_column.getText());
			matrix_mul_without_MAC_4.Size_of_Matrix = Integer.parseInt(jTextField_mat_mul_mat_size.getText());
			matrix_mul_without_MAC_4.no_samples_int = Integer
			.parseInt(jTextField_mat_mul_samples.getText());
			matrix_mul_without_MAC_4.no_channels_int = Integer
			.parseInt(jTextField_mat_mul_channels.getText());
			matrix_mul_without_MAC_4.ram_size = Integer.parseInt(jTextField_mat_mul_size_ram
					.getText());
			matrix_mul_without_MAC_4.file_path = jTextField_mat_mul_path_data_file.getText();


			matrix_mul_without_MAC_4.Create_Cfu_Array();
			matrix_mul_without_MAC_4.Create_RAM();

			/*
			 * Here, flexibility can be added by including arguments which can take
			 * taps of FIR filter and no of samples to process
			 */
			matrix_mul_without_MAC_4.Run_CFUs();

			matrix_mul_without_MAC_4.Get_Statastics();
		}


	}

	private void jButton_mat_mul_cancelActionPerformed(ActionEvent evt) {
		System.out.println("jButton_mat_mul_cancel.actionPerformed, event="+evt);
		//TODO add your code for jButton_mat_mul_cancel.actionPerformed
		dispose();
	}

	private void jButton_mat_mul_clearallActionPerformed(ActionEvent evt) {
		System.out.println("jButton_mat_mul_clearall.actionPerformed, event="+evt);
		//TODO add your code for jButton_mat_mul_clearall.actionPerformed
		initComponents();
	}

	private void jButton7ActionPerformed(ActionEvent evt) {
		System.out.println("jButton7.actionPerformed, event="+evt);
		//TODO add your code for jButton7.actionPerformed
	}

	private void jButton8ActionPerformed(ActionEvent evt) {
		System.out.println("jButton8.actionPerformed, event="+evt);
		//TODO add your code for jButton8.actionPerformed
	}

	private void jButton9ActionPerformed(ActionEvent evt) {
		System.out.println("jButton9.actionPerformed, event="+evt);
		//TODO add your code for jButton9.actionPerformed
	}

	private void jButton_mat_det_okActionPerformed(ActionEvent evt) {

		//System.out.println("jButton_mat_det_ok.actionPerformed, event="+evt);
		//TODO add your code for jButton_mat_det_ok.actionPerformed
				
		row = Integer.parseInt(jTextField_mat_det_cfu_row.getText());
		column = Integer.parseInt(jTextField_mat_det_cfu_column.getText());	
		
		Matrix_Determinant_3x3_4channels_Mapping matrix_det_3 = new Matrix_Determinant_3x3_4channels_Mapping();

		matrix_det_3.no_cfu_row_int = Integer
		.parseInt(jTextField_mat_det_cfu_row.getText());
		matrix_det_3.no_cfu_column_int = Integer
		.parseInt(jTextField_mat_det_cfu_column.getText());
		matrix_det_3.Size_of_Matrix = Integer.parseInt(jTextField_mat_det_mat_size.getText());
		matrix_det_3.no_samples_int = Integer
		.parseInt(jTextField_mat_det_samples.getText());
		matrix_det_3.no_channels_int = Integer
		.parseInt(jTextField_mat_det_channels.getText());
		matrix_det_3.ram_size = Integer.parseInt(jTextField_mat_det_size_ram
				.getText());
		matrix_det_3.file_path = jTextField_mat_det_path_data_file.getText();
		// C:\Users\Kunjan Patel\workspace\FIR_16taps_256samples\src\test.txt
		// (laptop)
		// C:\Users\kpatel\workspace\FIR_16taps_256samples\src\test.txt
		// (Desktop)

		//		matrix_det_3.total_cfu = matrix_det_3.no_cfu_column_int
		//				* matrix_det_3.no_cfu_row_int;
		//		matrix_det_3.no_cfu_per_channel = matrix_det_3.total_cfu
		//				/ matrix_det_3.no_channels_int;
		//		matrix_det_3.unused_cfu = matrix_det_3.total_cfu
		//				- (matrix_det_3.no_cfu_per_channel * matrix_det_3.no_channels_int);

		// Enter logic to check sufficient RAM is available or not

		/*
		 * ========================================== Include this in filter
		 * specific class file ===========================================
		 */

		//		JOptionPane.showMessageDialog(null, "no_cfu_per_channel = "
		//				+ matrix_det_3.no_cfu_per_channel + "\nchannels = "
		//				+ matrix_det_3.no_channels_int + "\nunused = "
		//				+ matrix_det_3.unused_cfu);

		matrix_det_3.Create_Cfu_Array();
		matrix_det_3.Create_RAM();

		/*
		 * Here, flexibility can be added by including arguments which can take
		 * taps of FIR filter and no of samples to process
		 */
		matrix_det_3.Run_CFUs();

		matrix_det_3.Get_Statastics();

	}

	private void jButton_mat_det_cancelActionPerformed(ActionEvent evt) {
		System.out.println("jButton_mat_det_cancel.actionPerformed, event="+evt);
		//TODO add your code for jButton_mat_det_cancel.actionPerformed
		dispose();
	}

	private void jButton_mat_det_clearallActionPerformed(ActionEvent evt) {
		System.out.println("jButton_mat_det_clearall.actionPerformed, event="+evt);
		//TODO add your code for jButton_mat_det_clearall.actionPerformed
		initComponents();
	}

	// Variables declaration - do not modify//GEN-BEGIN:variables
	private javax.swing.JButton jButton_FIR_ok;
	private javax.swing.JButton jButton_FIR_cancel;
	private javax.swing.JButton jButton_FIR_clearall;
	private javax.swing.JLabel label_RAM;
	private javax.swing.JLabel label_channels;
	private javax.swing.JLabel label_columns;
	private javax.swing.JLabel label_rows;
	private javax.swing.JLabel label_samples;
	private javax.swing.JLabel label_taps;
	private javax.swing.JTextField jTextfield_FIR_size_ram;
	private javax.swing.JTextField jTextfield_FIR_channels;
	private JPanel jPanel_matrix_determinant;
	private JLabel jLabel28;
	private JTextField jTextField_mat_det_cfu_row;
	private JLabel jLabel27;
	private JTextField jTextField_mat_det_cfu_column;
	private JLabel jLabel26;
	private JTextField jTextField_mat_det_mat_size;
	private JLabel jLabel25;
	private JTextField jTextField_mat_det_samples;
	private JLabel jLabel24;
	private JTextField jTextField_mat_det_channels;
	private JLabel jLabel23;
	private JTextField jTextField_mat_det_size_ram;
	private JLabel jLabel22;
	private JTextField jTextField_mat_det_path_data_file;
	private JPanel jPanel12;
	private JButton jButton_mat_det_clearall;
	private JButton jButton_mat_det_cancel;
	private JButton jButton_mat_det_ok;
	private JPanel jPanel11;
	private JPanel jPanel_matrix_multiplication;
	private JLabel jLabel14;
	private JLabel jLabel13;
	private JLabel jLabel12;
	private JLabel jLabel11;
	private JLabel jLabel10;
	private JLabel jLabel9;
	private JLabel jLabel8;
	private JTextField jTextField_mat_mul_path_data_file;
	private JTextField jTextField_mat_mul_cfu_row;
	private JTextField jTextField_mat_mul_cfu_column;
	private JTextField jTextField_mat_mul_mat_size;
	private JTextField jTextField_mat_mul_samples;
	private JTextField jTextField_mat_mul_channels;
	private JTextField jTextField_mat_mul_size_ram;
	private JPanel jPanel7;
	private JButton jButton_mat_mul_clearall;
	private JButton jButton_mat_mul_cancel;
	private JButton jButton_mat_mul_ok;
	private JPanel jPanel6;
	private JTextField jTextField_FIR_filepath;
	private JTabbedPane jTabbedPane1;
	private JPanel jPanel_FIR;
	private JLabel jLabel7;
	private JLabel jLabel6;
	private JLabel jLabel5;
	private JLabel jLabel4;
	private JLabel jLabel3;
	private JLabel jLabel2;
	private JLabel jLabel1;
	private JTextField jTextField_FFT_ram_path;
	private JTextField jTextField_FFT_rows;
	private JTextField jTextField_FFT_columns;
	private JTextField jTextField_FFT_no_points;
	private JTextField jTextField_FFT_samples;
	private JTextField jTextField_FFT_channels;
	private JTextField jTextField_FFT_size_ram;
	private JPanel jPanel5;
	private JButton jButton_FFT_clearall;
	private JButton jButton_FFT_cancel;
	private JButton jButton_FFT_ok;
	private JPanel jPanel4;
	private JPanel jPanel3;
	private JPanel jPanel2;
	private JPanel jPanel1;
	private JLabel Label_filepath;
	private javax.swing.JTextField jTextfield_FIR_columns;
	private javax.swing.JTextField jTextfield_FIR_rows;
	private JButton jButton_hdl_coder;
	private JButton jButton_Array_Visualisation;
	private JButton jButton_reset_statistical_counters;
	private JCheckBox jCheckBox_round_result;
	private JButton jButton_file_chooser;
	private JButton jButton_advance_settings;
	private JRadioButton jRadioButton_mat_mul_without_MAC;
	private JRadioButton jRadioButton_mat_mul_with_MAC;
	private javax.swing.JTextField jTextfield_FIR_samples;
	private javax.swing.JTextField jTextfield_FIR_taps;
	// End of variables declaration//GEN-END:variables

}
